package com.probox.common.entity.vo.system;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.probox.common.core.annotation.Excel;
import com.probox.common.core.enums.SubscribeStatusEnum;
import com.probox.common.core.text.Convert;
import com.probox.common.entity.utils.DictUtils;
import com.probox.common.entity.vo.WeCom.WeComAppointmentItemVo;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * 预约详情vo
 */
@Data
public class WorkbenchDetailVo implements Serializable {
    private Long customerUid;

    private String nickName;

    private Long storeId;

    private String remark;

    private Long subscribeId;

    /**
     * 服务状态
     */
    private String serviceStatus;

    public String getServiceStatusStr() {
        return SubscribeStatusEnum.getNameByKey(serviceStatus);
    }

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 性别
     */
    private String sex;

    public String getSexStr() {
        HashMap dictCacheMap = DictUtils.getDictCacheMap("customer_sex");
        return Convert.toStr(dictCacheMap.get(sex));
    }

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 客户等级名称
     */
    private String levelName;
    /**
     * 客户备注
     */
    private String customerMsg;

    private Long technicianId;

    private String customerRequirement;

    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private Date subscribeDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    /**
     * 结束时间(年月日时分秒)
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    private String consultantSummary;

    private String matchingSummary;

    private String cleansingSummary;
    private List<WeComAppointmentItemVo> listVo;

}
